package com.gzs.learn.payment.service.api;

import com.gzs.learn.payment.model.cfg.PaycfgChannel;
import com.gzs.learn.payment.model.unionpay.pay.UnionpayRequest;
import com.gzs.learn.payment.model.unionpay.query.UnionpayQuery;
import com.gzs.learn.payment.model.unionpay.query.UnionpayQueryResult;
import com.gzs.learn.payment.model.unionpay.refund.UnionpayRefund;
import com.gzs.learn.payment.model.unionpay.refund.UnionpayRefundResult;

/**
 * 银联wap页面支付接口
 * 
 * @author guanzhisong
 * @date 2021-08-23
 */
public interface IUnionpayWapService {
    /**
     * 银联支付的接口:支付接口
     * 
     * @param yinlianPay：传递给银联的信息
     * @param paycfgCha：第三方支付平台的配置
     * @throws Exception
     */
    UnionpayRequest createPayInfo(UnionpayRequest unionpayRequest, PaycfgChannel paycfgChannel);

    /**
     * 银联支付的接口:查询接口
     * 
     * @param yinlianQuery：传递给银联的信息
     * @param paycfgCha：第三方支付平台的配置
     * @throws Exception
     */
    UnionpayQueryResult unionpayQuery(UnionpayQuery unionpayQuery, PaycfgChannel paycfgChannel);


    /**
     * 银联支付的接口:退款接口
     * 
     * @param yinlianRefund：传递给银联的信息
     * @param paycfgCha：第三方支付平台的配置
     * @throws Exception
     */
    UnionpayRefundResult unionpayRefund(UnionpayRefund unionpayRefund, PaycfgChannel paycfgChannel);
}
